package cn.lena.weblog.service.impl;

import cn.lena.weblog.config.MarkdownUtils;
import cn.lena.weblog.dao.PassageDao;
import cn.lena.weblog.domain.Passage;
import cn.lena.weblog.service.PassageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PassageServiceImpl implements PassageService {

	@Autowired
	private PassageDao passageDao;

	@Override
	public List<Passage> findCatagoryPassages(Integer catagoryId) {
		return passageDao.findCatagoryPassages(catagoryId);
	}

	@Override
	public List<Passage> findByKeyword(Integer keywordId) {
		return passageDao.findByKeyword(keywordId);
	}

	@Override
	public List<Passage> findByUserId(Integer userId) {
		return passageDao.findByUserId(userId);
	}

	@Override
	public List<Passage> findDraft(Integer userId) {
		return passageDao.findDraft(userId);
	}

	@Override
	public List<Passage> findDelete(Integer userId) {
		return passageDao.findDelete(userId);
	}

	@Override
	public List<Passage> findByCreateDate() {
		return passageDao.findByCreateDate();
	}

	@Override
	public int addPassage(Passage passage) {
		return passageDao.addPassage(passage);
	}

	@Override
	public int deletePassage(Integer id) {
		return passageDao.deletePassage(id);
	}

	@Override
	public List<Passage> findCollectPassage(Integer userId) {
		return passageDao.findCollectPassage(userId);
	}

	@Override
	public List<Passage> findByCatagoryAndUser(Integer userId, Integer catagoryId) {
		return passageDao.findByCatagoryAndUser(userId,catagoryId);
	}

	@Override
	public Passage findById(Integer passageId) {
		Passage passage=passageDao.findById(passageId);
		// 文章正文可能使用了markdown语法，要将其转换为html标签才能在页面正确显示。
		String content=passage.getContent();
		passage.setContent(MarkdownUtils.markdownToHtmlExtensions(content));
		return passage;
	}

	@Override
	public int renewPassage(Integer id) {
		return passageDao.renewPassage(id);
	}
}
